/*
 * To  change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bitclub;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import persistencia.POfertaDiaSemana;

/**
 *
 * @author Manuel Fernández Martinez
 * @fecha 13/09/2010
 * @version 1.0
 * 
 */
public class OfertaDiaSemana extends Oferta { //hereda de clase Oferta

    private String diaSemana;

    public OfertaDiaSemana(double descuento, double precioNuevo, int diasExtras, int tipo, Date fechaFin, Date fechaInicio, String nombre, int id, String diaSemana) {
        super(descuento, precioNuevo, diasExtras, tipo, fechaFin, fechaInicio, nombre, id);
        this.diaSemana = diaSemana;
    }
    
    public OfertaDiaSemana(double descuento, double precioNuevo, int diasExtras, int tipo, Date fechaFin, Date fechaInicio, String nombre, String diaSemana) {
        super(descuento, precioNuevo, diasExtras, tipo, fechaFin, fechaInicio, nombre);
        this.diaSemana = diaSemana;
    }

    public String getDiaSemana() {
        return diaSemana;
    }

    public void setDiaSemana(String diaSemana) {
        this.diaSemana = diaSemana;
    }

    @Override
    public String toString() {
        DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
        if (this.getTipo() == 1) {
            return "El nombre de la oferta elegida es: " + this.getNombre() + ""
                    + "\nDía de la semana: " + this.getDiaSemana() + ""
                    + "\nPorcentaje de descuento: " + this.getDescuento() + "%"
                    + "\nComprendido entra las fechas: " + df.format(this.getFechaInicio()) + ""
                    + " y " + df.format(this.getFechaFin()) + "\nID: "+this.getId();
        } else if (this.getTipo() == 2) {
            return "El nombre de la oferta elegida es :" + this.getNombre() + ""
                    + "\nDía de la semana: " + this.getDiaSemana() + ""
                    + "\nDías extras para entregar: " + this.getDiasExtras() + ""
                    + "\nComprendido entra las fechas: " + df.format(this.getFechaInicio()) + ""
                    + " y " + df.format(this.getFechaFin()) + "\nID: "+this.getId();
        } else {
            return "El nombre de la oferta elegida es :" + this.getNombre() + ""
                    + "\nDía de la semana: " + this.getDiaSemana() + ""
                    + "\nPrecio nuevo de alquiler: " + this.getPrecioNuevo()
                    + "\nComprendido entra las fechas: " + df.format(this.getFechaInicio()) + ""
                    + " y " + df.format(this.getFechaFin()) + "\nID: "+this.getId();
        }

    }    
    
    public void nuevo(OfertaDiaSemana o) {
        
        POfertaDiaSemana.nuevoBD(o);
        
    }    
    
    public void actualizar(OfertaDiaSemana o) {
        
        POfertaDiaSemana.actualizarBD(o);
    }    
    
    public void eliminar (OfertaDiaSemana o){
        POfertaDiaSemana.eliminarBD(o);
    }
    
    public static List<OfertaDiaSemana> seleccionarOferta(Date fechaBusqueda, String tipo) {
        
        List<OfertaDiaSemana> o = new ArrayList();
        
       o = POfertaDiaSemana.seleccionarOfertaBD(fechaBusqueda, tipo);

        return o;
    }
}
